Data transmission and storage are important functional aspects of any computer systems. In order for a computer system to reliably function, the storage and transmission of data must be done in a reliable manner such that the data integrity is not comprised. Within a computer system, data are constantly being stored and transmitted between, for example, memory devices and the central processing unit (CPU). When data are stored, errors may occur within a memory device due to inherent memory defects or random noise within the memory device. When data are transmitted, errors may be introduced into the data stream due to noise in the communication channel or from external interferences such as crosstalk.
Data error in the memory device may cause the memory device to fail from what is called bit error. Other errors may also occur such as burst error. These errors often cause a computer system to fail from memory failure. To reduce the rate of memory failure in a computer system, memory with error checking and correcting (ECC) is typically employed.
Memory with ECC protection enables the computer system to check whether the data being received contain any error. Data may be received from other computer systems or from a memory device via a bus within the computer system. ECC enables the computer system to verify whether the data received are the same as the data that were previously transmitted or stored. When an error is detected, the computer system may request for the re-transmission of the data and/or discard the data.
In a computer network, data are also being constantly transferred between computer systems in the network. In every network, whether it is a local area network (LAN), a wide area network (WAN), or the internet, data are being transferred from one computer system to another using various types of switches such as a layer 2 switch or a layer 3 router. As mentioned, errors typically occur during data transmission or storage. Accordingly, it is desirable to have a switch capable of reducing errors caused by data transmission and storage.